'Кольца



'Управление:
'а-налево
'd-направо
'w-вверх
's-вниз
'
'
CLS
SCREEN 12
WINDOW (0, 0)-(640, 480)
stars = 50
DIM x(stars), y(stars), z(stars), xe(stars), ye(stars), rad(stars)
RANDOMIZE TIMER
FOR i = 1 TO stars
x(i) = INT(RND * 200)
y(i) = INT(RND * 200)
z(i) = INT(RND * 200)
NEXT i
xc = 320
yc = 240
x = 200
y = 100
z = 100
gr = 200

GOTO st
back:
c$ = INKEY$
'IF c$ <> "" THEN
'IF c$ = "w" THEN x = x - 5
'IF c$ = "s" THEN x = x + 5
IF c$ = "a" THEN yd = -1 '= y + 5
IF c$ = "d" THEN yd = 1 '= y - 5
IF c$ = "s" THEN zw = 1 ' = z - 5
IF c$ = "w" THEN zw = -1 ' = z + 5
'x = x - 50
st:

'FOR i = 1 TO stars
'CIRCLE (xe(i), ye(i)), rad(i), 0
'NEXT i
FOR i = 1 TO stars
CIRCLE (xe(i), ye(i)), rad(i), 0
x(i) = x(i) + 1
z(i) = z(i) + zw
y(i) = y(i) + yd

dy = y(i) - y
r = x(i) - x
IF r = 0 THEN r = 1
'dye = (y(i) - y) * 100
'dze = (z(i) - z) * 100
'GOTO g
'END IF
tng = dy / r
dye = tng * gr

dh = z(i) - z
r2 = (dy ^ 2 + r ^ 2) ^ (1 / 2)
tng2 = dh / r2
dze = tng2 * ((gr ^ 2 + dye ^ 2) ^ (1 / 2))

xe(i) = xc + dye
ye(i) = yc + dze
rad(i) = 200 / (((x(i) - x) ^ 2 + (y(i) - y) ^ 2 + (z(i) - z) ^ 2) ^ (1 / 2) + .5)



g:
IF r < 0 THEN
CIRCLE (xe(i), ye(i)), rad(i)
ELSE
x(i) = 0
y(i) = INT(RND * 200)
z(i) = INT(RND * 200)
END IF

NEXT i
'END IF
yd = 0
zw = 0
GOTO back
END



Сайт создан в системе uCoz